local ClientOHOH = _G.ClientOHOH;

local M = ClientOHOH.class.new(script, ClientOHOH.files.OHOHScreenBase());
local CommonOHOH =_G.CommonOHOH
local CallBackManager = ClientOHOH.load.CallBackManager();


function InitInsts(ui)
	ui.insts = {};
	ui.insts.offon = "root.TextButton";
	ui.insts.cell = "root.ScrollingFrame.Frame.cell";
	ui.insts.content = "root.ScrollingFrame.Frame";
	ui.insts.show = "root.ScrollingFrame";

end
function M.MobileSize(self)
	if _G.client.IsMobile then --是移动设备
		if self.insts.root then
			local pos= self.insts.root:GetAttribute("Position")
			local size=self.insts.root:GetAttribute("Size")

			if pos then
				self.insts.root.Position=pos
			end
			if size then
				self.insts.root.Size=size
			end
		end
	end
end

function M.new(...)
	return M(...);
end;
function M.ctor(self)
	InitInsts(self)
	M.super.ctor(self, ClientOHOH:GetPath_Loop("ReplicatedStorage.Resource.UI.DebugGui"));
	self:MobileSize()
	
	self.insts.show.Visible=false
	
	CallBackManager:AddRbxConnect(self, self.insts.offon.Activated, function()
		self.insts.show.Visible=not self.insts.show.Visible
	end);
	
end;

function M.BindButton(self,button,data)
	local arg= button:WaitForChild("TextBox")
	local action= button:WaitForChild("TextButton")
	action.Text=data.buttonName
	CallBackManager:AddRbxConnect(self, action.Activated, function()
		self.callBack(data,arg.Text)
	end);
end
function M.InitTestData(self,data,callBack)
	self.callBack=callBack
	local isUsedPerfab=false
	for k,v in pairs(data) do
		local button=nil
		if isUsedPerfab then
			button=self.insts.cell:Clone()
			button.Parent=self.insts.cell.Parent
		else
			button=self.insts.cell
			isUsedPerfab=true
		end
		self:BindButton(button,v)
	end
	
end

function M.dtor(self)
	M.super.dtor(self);
end;

return M
